package br.com.sisgerenciamento.dao.cliente;

import java.util.ArrayList;

import br.com.sisgerenciamento.exceptions.AlterarException;
import br.com.sisgerenciamento.exceptions.ApplicationException;
import br.com.sisgerenciamento.exceptions.ExcluirException;
import br.com.sisgerenciamento.exceptions.InserirException;
import br.com.sisgerenciamento.model.cliente.ClienteVO;

public interface ClienteDAOService{

	ClienteVO inserir(ClienteVO vo) throws InserirException;
	
	void alterar(ClienteVO vo) throws AlterarException;

	void excluir(ClienteVO vo) throws ExcluirException;
	
	ClienteVO consultarPorCodigo(Long codigo) throws ApplicationException;
	
	ArrayList<String> consultarPorNome(String nome) throws ApplicationException;
	
	ArrayList<ClienteVO> consultarClientePorNome(String nome) throws ApplicationException;
	
	ArrayList<ClienteVO> listarAtivos()	throws ApplicationException;
	
	public ClienteVO consultarPorNomeExato(String nomeCliente)throws ApplicationException;

}
